home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dskut / ct50a.zip / CT50A.DOC < prev    next >
Text File  |  1993-06-18  |  16KB  |  345 lines

  1. Program:    Cache Test                  Copyright 1993 All Rights Reserved
  2. Version:    5.0 a
  3. Author:     George Spafford
  4. Date:       June 18, 1993
  5.  
  6. PURPOSE:
  7.  
  8. To allow users to objectively test the effectiveness of their disk caching
  9. software.  Cache Test is an independent product and is not supported by
  10. any manufacturer.
  11.  
  12. GROUNDWORK:
  13.  
  14. Cache Test tests drive performance by writing data to a specified, or the
  15. default, drive.  Sequential tests are performed by writing randomly generated
  16. fixed length strings to a DOS Text file.  Each record consists of n number of
  17. identical characters plus a carriage return (ASCII 13) and line feed (ASCII 10).
  18. By default, the program writes 513 byte records.  This translates to 511 bytes
  19. in the record plus the CR and LF.  If we were to imagine 8 character records,
  20. and that ^ is a CR and + is a LF then the data looks like this.
  21.  
  22.         aaaaaaaa^+
  23.         33333333^+
  24.         --------^+
  25.         zzzzzzzz^+
  26.  
  27. The characters that make up the record are randomly generated.  The random
  28. routine is seeded by the timer tick every time it is called to increase the
  29. random selections.  Characters range from ASCII 32 to ASCII 252.
  30.  
  31. Random records are written to the disk using a random access file structure.
  32. Each record consists of randomly generated bytes and two record separator
  33. characters.  As with the sequential file structure, the number of characters
  34. written to the disk is the specified record size - 2 + 2 record separators.
  35. It is very similar to the sequential except that it allows random movement
  36. through the file.
  37.  
  38. You can view any off these files by pushing CONTROL-BREAK during their creation
  39. and then use your favorite disk editor or file viewer.
  40.  
  41. The "DIR Test" consists of Cache Test reading the root directories of either
  42. the specified or default drive and then reading the files in those directories.
  43. It will repeat this process until it reaches the required number of reads.
  44. The more directories you have in your root the better.  To be specific,
  45. it reads the tree and then counts the number of files in each directory.
  46. The value you see it totaling is the number of files + the number of directories
  47. + 1 root directory.  However, it will keep incrementing by looping the test
  48. until the desired number of reads has taken place.  Now, let's say that you
  49. run the default 10,000 record (count) test.  Let's also say that you have a
  50. drive witth 2,500 files and directories - the program will need to loop through
  51. the drive 4 times in order to meet its test requirements.  If you limit the
  52. number of records to 2,500 by using the command switch /N:2500 then it will
  53. only need to read the tree once.
  54.  
  55. Usage:
  56.  
  57.         CT [switches]
  58.  
  59.         MAKE SURE YOU HAVE SPACES BETWEEN THE SWITCHES - IF YOU DO NOT, CT
  60.         WILL NOT BE ABLE TO INTERPRET THE SWITCHES CORRECTLY.
  61.  
  62.         /A              Performs all tests [this is the default if just CT
  63.                         is run].
  64.         /C              Specifies that the /L: log file is to be created and
  65.                         not simply appended to.
  66.         /D              Perform DOS directory services test.
  67.         /D:d            Drive to test.  "d" is the drive letter.
  68.         /L:logto        Specifies the file name or device to log to.
  69.                         "logto" is the name.  By default, data is appended to
  70.                         this.  /C must be specified if you want to create a
  71.                         new file and NOT append.
  72.         /N:nnnn         Specifies how many records to write. "nnnn" is the
  73.                         number.  10,000 is the default.
  74.                         If you are processing a directory test, this is how
  75.                         many directory entry reads that CT will perform.
  76.         /P:pppp         Specifies the number of test passes. "pppp" is the
  77.                         number.  1 is the default.
  78.         /R              Perform random access tests.
  79.         /S              Perform sequential tests.
  80.         /S:sss          Specifies the individual record sizes. "sss" is the
  81.                         record size.  The default is 513 bytes.  Specify the
  82.                         total size that you want a record to be.
  83.                         THE MAXIMUM VALUE FOR THIS IS 16,384.  IF YOU GET A
  84.                         STRING SPACE ERROR, YOU WILL NEED TO MAKE THIS VALUE
  85.                         SMALLER THAN WHAT YOU SET IT AT.  A small hint is
  86.                         to set your sizes = to a factor of your sector size
  87.                         + 1 byte.  My sectors are 512, as are most peoples, and
  88.                         then add 1 = the 513 byte default record size.
  89.         /W              Pause after each screen.
  90.         /X              Exclude screen writes during the testing phase to
  91.                         remove the video bottlenecks.
  92.  
  93.         Use /A to run all tests.  /D /R /S specify individual tests.
  94.  
  95.         Examples:
  96.  
  97.         CT /N:1000 /P:5 /W      1000 record test, 5 passes, wait after each
  98.                                 screen completes.
  99.  
  100.         CT /N:5000 /S:1025      5000 record test, 1025 byte records.
  101.  
  102.         CT /N:5000 /W /R /D     5000 record test, wait after each screen,
  103.                                 perform only the random and directory tests.
  104.  
  105.         CT /L:PRN               Perform the default test one time and log it
  106.                                 the printer.
  107.  
  108.  
  109. THE DISPLAY:
  110.  
  111. Please note that the total time values will not add up to the displayed
  112. individual test times.  This is because I have used double-precision floating
  113. point variables to hold my timer values.  While you see only two decimal
  114. places on the screen, there are a bunch that you do not see.  The total values
  115. are the result of the summation of the individual test scores, the totals are
  116. not timed results - they are mathematical results subject to errors in rounding.
  117.  
  118. Also, the averages column is calculated by adding the floating point numbers
  119. together and then dividing by the current pass number - NOT the total number
  120. of passes.
  121.  
  122. STOPPING THE PROGRAM:
  123.  
  124. CONTROL-BREAK will terminate the program execution safely.  Note, you will
  125. probably leave a file named ##TEST##.CT in the root directory of the drive
  126. that you were testing.  You will need to delete that by hand OR CT will delete
  127. it the next time it is run.
  128.  
  129. HISTORY:
  130.  
  131.       v5.0a 06/18/93
  132.   
  133.             The directory test bombed on drives with over 250 directories
  134.             on them.  The program will now process 500 entries before looping.
  135.             This means that if you have 1000 directories, the program will
  136.             only actually use 500 of them to perform its tests.
  137.  
  138.             Also, the program checked for disk space before it performed the
  139.             directory tests - this is not necessary and now space is only
  140.             checked before the sequential and random tests are performed.
  141.  
  142.       v5.0  06/08/93
  143.       
  144.             Can you say "Major Revision?"  This version was rebuilt from the
  145.             ground up and shares very little with previous versions.
  146.             Some of the modifications in this program are a direct result from
  147.             input by Herb Chong.  If it wasn't for Herb's input, the DIR test
  148.             wouldn't be here and test data wouldn't be randomly generated.
  149.             Thank you very much Herb.
  150.  
  151.             A lot of the command line switches have changed.  You may need
  152.             to invoke CT with the /? to see the new ones.
  153.  
  154.             Things that are new:
  155.                 -       Changed switches
  156.                 -       Changed tests
  157.                 -       Changed reporting
  158.                 -       Changed compiler
  159.                 -       Changed my office!
  160.  
  161.       v4.3c 07/09/92 pm
  162.  
  163.             Heck ... I can't win for losing.  I have spent several hours now
  164.             debugging the variable overflow problem.  I believe that they
  165.             have all been eliminated now.
  166.  
  167.             To say "sorry," you can have VT 1.1 also if you choose to register
  168.             (or are already registered to) Cache Test - this j